package com.triones.yjj.service;

import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.triones.yjj.entity.bo.MemberWithdrawParams;
import com.triones.yjj.entity.bo.RemainderListParams;
import com.triones.yjj.entity.bo.WaitSettlementListParams;
import com.triones.yjj.entity.bo.WithdrawalListParams;
import com.triones.yjj.entity.vo.MemberWithdrawListVO;
import com.triones.yjj.entity.vo.RemainderDetailListVO;
import com.triones.yjj.entity.vo.WaitSettlementRecordVO;
import com.triones.yjj.entity.vo.WithdrawalRecordVO;

import java.util.Map;

/**
 * 订单交易相关 service 接口
 *
 * @Author: triones
 */
public interface OrderTradeService {

    /**
     * 获取余额明细列表（分页）
     * @param params
     * @param pageQuery
     * @return
     */
    TableDataInfo<RemainderDetailListVO> remainderPageList(RemainderListParams params, PageQuery pageQuery);

    /**
     * 获取提现明细列表（分页）
     * @param params
     * @param pageQuery
     * @return
     */
    TableDataInfo<WithdrawalRecordVO> withdrawalPageList(WithdrawalListParams params, PageQuery pageQuery);

    /**
     * 获取待结算明细列表（分页）
     * @param params
     * @param pageQuery
     * @return
     */
    TableDataInfo<WaitSettlementRecordVO> waitSettlementDetailList(WaitSettlementListParams params, PageQuery pageQuery);

    /**
     * 资金管理数据统计
     * @return
     */
    Map stats();

    /**
     * 提现申请列表（分页）
     * @param params
     * @param pageQuery
     * @return
     */
    TableDataInfo<MemberWithdrawListVO> memberWithdrawPageList(MemberWithdrawParams params, PageQuery pageQuery);
}
